#include "bits/stdc++.h"
#include "path.h"
#include "unistd.h"

using namespace std;

// #include "ros/ros.h"
// #include <eigen3/Eigen/Core>
// #include <eigen3/Eigen/Dense>
// #include <sensor_msgs/LaserScan.h>
//
// using namespace std;
//
// int  generated = 0;
// auto pt        = new path();
// auto msg_copy  = new sensor_msgs::LaserScans();
//
// void laserCallback(const sensor_msgs::LaserScan::ConstPtr& msg)
//{
//     msg_copy->angle_min       = msg->angle_min;
//     msg_copy->angle_increment = msg->angle_increment;
//     size_t t                  = msg->ranges.size();
//     for ( size_t i = 0; i < t; i++ ) msg_copy->ranges[i] = msg->ranges[i];
//
//     if ( !generated ) {
//         pt->generate(msg_copy);
//         generated = 1;
//     }
//     else
//         pt->count_path(msg_copy);
// }
//
//
// int main(int argc, char** argv)
//{
//     ros::init(argc, argv, "path");
//     ros::NodeHandle nh;
//     ros::Subscriber sub = nh.subscribe("/scan", 1, laserCallback);
//     ros::Rate       looprate(10);
//
//
//     while ( ros::ok() ) {
//         ros::spinOnce();
//         looprate.sleep();
//     }
//     return 0;
// }

int main()
{
    auto msg = new my_msg::LaserScans();
    auto pt  = new path(msg);

    while ( 1 ) {
        pt->count_path(msg);
        usleep(10000);
    }
    return 0;
}